package com.gzx.spring.apis.utils;

import cn.hutool.core.net.URLEncoder;
import cn.hutool.core.util.CharsetUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.util.URLUtil;

import java.nio.charset.Charset;
import java.util.Map;

public class UrlQuery {
	/**
	 * @param charset encode编码，null表示不做encode编码
	 * @return URL查询字符串
	 */
	public static void encodeAll(Charset charset,Map<String,Object> query) {
		URLEncoder.QUERY.addSafeCharacter(':');
		for (String key : query.keySet()) {
			if (null != key) {
				Object value = query.get(key);
				if(null!=value && value  instanceof String) {
					query.put(key, URLUtil.encodeAll(StrUtil.str(value, charset)));
				}
			}
		}
	}
	
	/**
	 * @param charset encode编码，null表示不做encode编码
	 * @return URL查询字符串
	 */
	public static void encodeAll(Map<String,Object> query) {
		encodeAll(CharsetUtil.CHARSET_UTF_8, query);
	}
}

